Sonic Partial Deduction

نویسندگان

  • Jonathan C. Martin
  • Michael Leuschel
چکیده

The current state of the art for ensuring finite unfolding of logic programs consists of a number of online techniques where unfolding decisions are made at specialisation time. Introduction of a static termination analysis phase into a partial deduction algorithm permits unfolding decisions to be made offline, before the actual specialisation phase itself. This separation improves specialisation time and facilitates the automatic construction of compilers and compiler generators. The main contribution of this paper is how this separation may be achieved in the context of logic programming, while providing non-trivial support for partially static datastructures. The paper establishes a solid link between the fields of static termination analysis and partial deduction enabling existing termination analyses to be used to ensure finiteness of the unfolding process. This is the first offline technique which allows arbitrarily partially instantiated goals to be sufficiently unfolded to achieve good specialisation results. Furthermore, it is demonstrated that an offline technique such as this one can be implemented very efficiently and, surprisingly, yield even better specialisation than a (pure) online technique. It is also, to our knowledge, the first offline approach which passes the KMP test (i.e., obtaining an efficient Knuth-Morris-Pratt pattern matcher by specialising a naive one).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Conceptual Embedding of Folding into Partial Deduction: Towards a Maximal Integration

The relation between partial deduction and the unfold/fold approach has been a matter of intense discussion. In this paper we consolidate the advantages of the two approaches and provide an extended partial deduction framework in which most of the tupling and deforestation transformations of the fold/unfold approach, as well the current partial deduction transformations, can be achieved. Moreov...

متن کامل

The Effect of Partial Deduction in Abductive Reasoning

Partial deduction is known as an optimization technique in logic programming. In the context of abductive logic programming, however, we present in this paper that normal partial deduction does not preserve explanations for abductive reasoning. Then we provide an alternative method of partial deduction, called abductive partial deduction, which is shown to preserve the meanings of abductive log...

متن کامل

Partial Deduction for Structural Synthesis of Programs

The notion of partial deduction known from logic programming is deened in the framework of Structural Synthesis of Programs (SSP). Partial deduction for unconditional computability statements in SSP is deened. Completeness and correctness of partial deduction in the framework of SSP are proven. Several tactics and stopping criteria are suggested.

متن کامل

Advanced Logic Program Specialisation

In first part of this course [28] we have laid the theoretical foundations for logic program specialisation, notably introducing the technique of partial deduction along with some basic techniques to automatically control it. In this part of the course we first present in Section 2 an advanced way of controlling polyvariance based upon characteristic trees. We then show in Section 3 how partial...

متن کامل

Partial Deduction in Disjunctive Logic Programming

CHIAKI SAKAMA AND HIROHISA SEKI y. This paper presents a partial deduction method in disjunctive logic programming. Partial deduction in normal logic programs is based on unfolding between normal clauses, hence it is not applicable to disjunctive logic programs in general. Then we introduce a new partial deduction technique, called disjunctive partial deduction, which preserves the minimal mode...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999